package org.jeecg.modules.fund.vo;

import java.util.List;
import org.jeecg.modules.fund.entity.Fund;
import org.jeecg.modules.fund.entity.FundSubscriptionRate;
import lombok.Data;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.jeecgframework.poi.excel.annotation.ExcelEntity;
import org.jeecgframework.poi.excel.annotation.ExcelCollection;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;
import java.util.Date;
import org.jeecg.common.aspect.annotation.Dict;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

/**
 * @Description: 基金基本信息
 * @Author: jeecg-boot
 * @Date:   2024-08-23
 * @Version: V1.0
 */
@Data
@ApiModel(value="fundPage对象", description="基金基本信息")
public class FundPage {

	/**主键*/
	@ApiModelProperty(value = "主键")
    private java.lang.String id;
	/**创建人*/
	@ApiModelProperty(value = "创建人")
    private java.lang.String createBy;
	/**创建日期*/
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
	@ApiModelProperty(value = "创建日期")
    private java.util.Date createTime;
	/**更新人*/
	@ApiModelProperty(value = "更新人")
    private java.lang.String updateBy;
	/**更新日期*/
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
	@ApiModelProperty(value = "更新日期")
    private java.util.Date updateTime;
	/**所属部门*/
	@ApiModelProperty(value = "所属部门")
    private java.lang.String sysOrgCode;
	/**种类*/
	@Excel(name = "种类", width = 15, dictTable = "fund_type", dicText = "name", dicCode = "id")
    @Dict(dictTable = "fund_type", dicText = "name", dicCode = "id")
	@ApiModelProperty(value = "种类")
    private java.lang.String type;
	/**名称*/
	@Excel(name = "名称", width = 15)
	@ApiModelProperty(value = "名称")
    private java.lang.String name;
	/**代码*/
	@Excel(name = "代码", width = 15)
	@ApiModelProperty(value = "代码")
    private java.lang.String fcode;
	/**总额（W）*/
	@Excel(name = "总额", width = 15)
	@ApiModelProperty(value = "总额")
    private java.lang.Double totalNum;
	/**已购金额（W）*/
	@Excel(name = "已购金额", width = 15)
	@ApiModelProperty(value = "已购金额")
    private java.lang.Double buyNum;
	/**月利率%*/
	@Excel(name = "月利率%", width = 15)
	@ApiModelProperty(value = "月利率%")
    private java.lang.Double onthlyInterestRate;
	/**周期*/
	@Excel(name = "周期", width = 15, dicCode = "term")
    @Dict(dicCode = "term")
	@ApiModelProperty(value = "周期")
    private java.lang.Integer term;
	/**基金简称*/
	@Excel(name = "基金简称", width = 15)
	@ApiModelProperty(value = "基金简称")
    private java.lang.String shortName;
	/**成立日期*/
	@Excel(name = "成立日期", width = 15, format = "yyyy-MM-dd")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
	@ApiModelProperty(value = "成立日期")
    private java.util.Date establishDate;
	/**基金管理人*/
	@Excel(name = "基金管理人", width = 15)
	@ApiModelProperty(value = "基金管理人")
    private java.lang.String fundAdministrator;
	/**基金经理*/
	@Excel(name = "基金经理", width = 15)
	@ApiModelProperty(value = "基金经理")
    private java.lang.String fundManage;
	/**基金托管人*/
	@Excel(name = "基金托管人", width = 15)
	@ApiModelProperty(value = "基金托管人")
    private java.lang.String fundCustodian;
	/**投资范围*/
	@Excel(name = "投资范围", width = 15)
	@ApiModelProperty(value = "投资范围")
    private java.lang.String fundRange;
	/**风险收益特征*/
	@Excel(name = "风险收益特征", width = 15)
	@ApiModelProperty(value = "风险收益特征")
    private java.lang.String riskReturnCharacteristics;
	/**风险提示*/
	@Excel(name = "风险提示", width = 15)
	@ApiModelProperty(value = "风险提示")
    private java.lang.String riskDisclosure;

	@ExcelCollection(name="申购税率")
	@ApiModelProperty(value = "申购税率")
	private List<FundSubscriptionRate> fundSubscriptionRateList;

	/**剩余份额*/
	@Excel(name = "剩余份额", width = 15)
	@ApiModelProperty(value = "剩余份额")
	private java.lang.Double stockNum;

	/**风险提示*/
	@Excel(name = "状态(0下架 1正常)", width = 15)
	@ApiModelProperty(value = "状态")
	private java.lang.Integer status;


}
